MyBatis CRUD | 您所在的位置:网站首页 › mybatis map传值 › MyBatis CRUD |
0.select 一个参数测试多个参数时报错,绑定参数异常 因为调用时select里的username和password只是形参,传进实参后这个名字已经找不见了需要配一个注解@Param 需要注意,注解里的值要和xml里的占位符值一致才能传值。尽量做到见名知意能不能传User对象? 可以捏Map呢? 也可以啊,本质上就是拿到map的value替换占位符嘛回过头看看占位符#{}和${}有啥区别 输出日志里id直接是1了。由此可见${}是拼接字符串,#{}代表的是占位符那如何进行模糊查询呢? 你为啥拿到了root?我传的明明是1啊我想想... 因为我本地的用户名是root字符串拼接还可以用占位符,只不过要在代码里加上% 我比较喜欢这种www1.insert 发现了一个问题 没插进去?明明日志这里显示成功了啊这是因为如果没有关闭session,idea不会主动提交事务。代码稍作修改。 刷新数据库,出现了捏2.update 自动提交事务3.delete 绿了,成功了。4.一个小插件 装上这个插件,点击箭头。你的sql语句会跳转到对应的函数。 5.使用注解也可以CRUD,本质上和xml标签一样 public interface AdminMapper { /** * 保存管理员 * @param admin * @return */ @Insert("insert into admin (username,password) values (#{username},#{password})") int saveAdmin(Admin admin); /** * 更新管理员 * @param admin * @return */ @Update("update admin set username=#{username} , password=#{password} where id = #{id}") int updateAdmin(Admin admin); /** * 删除管理员 * @param * @return */ @Delete("delete from admin where id=#{id}") int deleteAdmin(int id); /** * 根据id查找管理员 * @param id * @return */ @Select("select id,username,password from admin where id=#{id}") Admin findAdminById(@Param("id") int id); /** * 查询所有的管理员 * @return */ @Select("select id,username,password from admin") List findAllAdmins(); } |
CopyRight 2018-2019 实验室设备网 版权所有 |